// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 

package com.nnee.p_pr.p_prot;

import com.nnee.p_f.cls_b;
import com.nnee.p_f.cls_k;
import java.util.Map;
import java.util.Stack;
import org.xml.sax.Attributes;

// Referenced classes of package com.nnee.p_pr.p_prot:
//            g

public class cls_h extends cls_k
{

    public cls_h(cls_g g1)
    {
        b = new StringBuffer();
        d = new Stack();
        c = g1;
    }

    private boolean a(String s, String s1, Attributes attributes, String s2)
    {
        cls_b b1;
        cls_b b2;
        boolean flag;
        if(!d.isEmpty())
            b1 = (b)d.peek();
        else
            b1 = null;
        if(b1 != null && s2 != null && s2.length() > 0)
            b1.a(null, s2);
        b2 = c.a(b1, s1, d.size());
        if(b2 != null)
            b2.a(attributes, e);
        if(d.isEmpty())
            flag = c.a(b2);
        else
            flag = c.a(b1, b2, d.size());
        d.push(b2);
        return flag;
    }

    private final String c()
    {
        char ac[] = b.toString().trim().toCharArray();
        b.delete(0, b.length());
        String s;
        if(ac.length == 0)
            s = null;
        else
            s = new String(ac);
        return s;
    }

    public void a(Map map)
    {
        e = map;
    }

    public void a(char ac[], int i, int j)
    {
        b.append(ac, i, j);
    }

    public boolean a(String s, String s1, String s2)
    {
        return b(s1, s2, c());
    }

    public boolean a(String s, String s1, String s2, Attributes attributes)
    {
        if(s1 != null && s1.length() > 0)
            s2 = (new StringBuilder()).append(s1).append(':').append(s2).toString();
        return a(s1, s2, attributes, c());
    }

    public boolean b(String s, String s1, String s2)
    {
        cls_b b1 = (b)d.pop();
        if(b1 != null)
        {
            if(s2 != null && s2.length() > 0)
                b1.g(s2);
            b1.r();
        }
        boolean flag;
        if(d.isEmpty())
        {
            c.b(b1);
            flag = false;
        } else
        {
            flag = c.b((b)d.peek(), b1, d.size());
        }
        return flag;
    }

    static final String a = "PRISOPDSReader";
    protected StringBuffer b;
    protected cls_g c;
    private Stack d;
    private Map e;
}
